Relationship discovery in business analytics

ABSTRACT

A subset of (k−1)-dimensional tables are received, wherein k is greater than 1. A set of k-dimensional tables is created by combining each of the (k−1)-dimensional tables with a non-included dimension corresponding to a 1-dimensional table. Significance of interaction and interaction effect size is computed for the created set of k-dimensional tables to determine dimension and measure interactions.

CROSS-REFERENCE TO RELATED APPLICATION

This patent application is a continuation of U.S. patent applicationSer. No. 13/562,201, filed Jul. 30, 2012, which patent application isincorporated herein by reference in its entirety.

FIELD

Embodiments of the invention relate to relationship discovery inbusiness analytics.

BACKGROUND

Data warehouses typically contain two major types of data elementsavailable for analysis: dimensions and measures. Each dimension is tiedto a categorical attribute such as product, market, time, channel,scenario, customer, etc. Given a dimension, every item in a data set canbe categorized according to its dimension. A dimension may be describedas a categorical attribute or a categorical field. A measure representsa data field that is associated with particular dimension categories(i.e., dimension values) and that can be used for calculations such assummation and averaging. A measure may be described as a continuoustarget. For an example, the average amount of money customers spent in agiven store can be calculated based on the amount of customer spendingand the store dimension.

Data analysts today have to deal with increasingly large volumes ofdata. Attempting to find insights in large amounts of data (e.g.,terabytes, petabytes, etc.), with many possible combinations betweencategorical attributes, is a difficult task. A common business scenariois identifying the relationship and influence of dimensions generated bycategorical fields or categorical attributes on a continuous target. Thegoal for the data analyst is to determine which of the dimensions arerelevant to the measure and among those that are relevant, discerningthe magnitude of their impact. Ultimately, the goal is to produce aseries of aggregated tabular reports that illustrate measure-dimensionrelationships.

The following is an example 2-dimensional table:

X₂ X₁ 1 2 . . . S 1 (1, 1) (1, 2) . . . (1, S) 2 (2, 1) (2, 2) . . . (2,S) . . .

. . . . . . . . . R (R, 1) (R, 2) . . . (R, S)

In the example 2-dimensional table, suppose dimension X₁ has Rcategories (1, . . . , R) and dimension X₂ has S categories (1, . . . ,S). For a 2-dimensional table, the cells in the first column and thecells in the first row may be described as “dimension cells” fordimension X₁ and dimension X₂, respectively. A category may be describedas a value or label of a dimension cell. On the other hand, the elementsfrom these two dimensions (i.e., the remaining cells in the table) maybe described as “table cells” and would contain statistics about thecontinuous target with two dimensions.

That is, dimension cells may be said to correspond to categories of thematching categorical attribute, while table cells may be said tocorrespond to combinations of categories from categorical attributesmatching different dimensions.

It is from relationships between dimensions and measures that analystsderive insights into their businesses. The challenge is trying tonavigate through what may possibly be thousands of reports, eachrepresenting a possible measure-dimension combination.

Exploring data to detect important dimensions is difficult and tedious.Even with existing tools, data analysts need to be skilled instatistical analysis and data mining. The volume of data exacerbates theproblem even for the experts. Organizations have invested heavily indata acquisition and storage technologies, and the organizationsunderstand the value of data and believe in the business analyticproposition. However, there is a shortage of individuals capable ofdefining, executing, and extracting valuable information from astatistical analysis.

SUMMARY

Provided are a method, computer program product, and system forreceiving a subset of (k−1)-dimensional tables, wherein k is greaterthan 1, creating a set of k-dimensional tables by combining each of the(k−1)-dimensional tables with a non-included dimension corresponding toa 1-dimensional table, and computing significance of interaction andinteraction effect size for the created set of k-dimensional tables todetermine dimension and measure interactions.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 depicts a cloud computing node in accordance with certainembodiments.

FIG. 2 depicts a cloud computing environment in accordance with certainembodiments.

FIG. 3 depicts abstraction model layers in accordance with certainembodiments.

FIG. 4 illustrates a computing environment in accordance with certainembodiments.

FIG. 5 illustrates a framework and a functional flow chart forrelationship discovery in accordance with certain embodiments.

FIG. 6 illustrates a table of search layer aggregated input statisticsin accordance with certain embodiments.

FIG. 7 illustrates a table that specifies a search index in terms ofsummaries derived from aggregated input statistics in accordance withcertain embodiments.

FIG. 8 illustrates, in a flow diagram, operations performed on1-dimensional tables in accordance with certain embodiments.

FIG. 9 illustrates, in a flow diagram, operations to create2-dimensional tables in accordance with certain embodiments. FIG. 9 isformed by FIG. 9A and FIG. 9B.

FIG. 10 illustrates operations to create 3-dimensional tables inaccordance with certain embodiments.

FIG. 11 illustrates a table that specifies interaction indices in termsof various summaries derived from aggregated input statistics inaccordance with certain embodiments.

FIG. 12 illustrates a table that contains a description of a process forcomputing more involved interaction summaries (i.e., sum of squares) inaccordance with certain embodiments.

FIG. 13 illustrates, in a flow diagram, processing performed by aninteraction evaluation unit in accordance with certain embodiments.

FIG. 14 illustrates a report profile template in accordance with certainembodiments.

FIG. 15 illustrates a table that describes an influential cellsdetection procedure in accordance with certain embodiments.

FIG. 16 illustrates a heat map of overall customer satisfaction inaccordance with certain embodiments.

FIG. 17 illustrates operations performed on k-dimensional tables inaccordance with certain embodiments. FIG. 17 is formed by FIG. 17A, FIG.17B, and FIG. 17C.

FIGS. 18A, 18B, and 18C illustrate example 1-dimensional tables inaccordance with certain embodiments.

FIG. 19 illustrates an example 2-dimensional table in accordance withcertain embodiments.

FIG. 20 illustrates an example 3-dimensional table in accordance withcertain embodiments.

DETAILED DESCRIPTION

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

It is understood in advance that although this disclosure includes adetailed description on cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g. networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as Follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based email). Theconsumer does not manage or control the underlying cloud infrastructureincluding network, servers, operating systems, storage, or evenindividual application capabilities, with the possible exception oflimited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting for loadbalancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 1, a schematic of an example of a cloud computingnode is shown. Cloud computing node 10 is only one example of a suitablecloud computing node and is not intended to suggest any limitation as tothe scope of use or functionality of embodiments of the inventiondescribed herein. Regardless, cloud computing node 10 is capable ofbeing implemented and/or performing any of the functionality set forthhereinabove.

In cloud computing node 10 there is a computer system/server 12, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 12 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 12 may be described in the general context ofcomputer system executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 12 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 1, computer system/server 12 in cloud computing node 10is shown in the form of a general-purpose computing device. Thecomponents of computer system/server 12 may include, but are not limitedto, one or more processors 16 or processing units, a system memory 28,and a bus 18 that couples various system components including systemmemory 28 to processor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnects (PCI) bus.

Computer system/server 12 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 12, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system/server 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Computer system/server 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computersystem/server 12; and/or any devices (e.g., network card, modem, etc.)that enable computer system/server 12 to communicate with one or moreother computing devices. Such communication can occur via Input/Output(I/O) interfaces 22. Still yet, computer system/server 12 cancommunicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 20. As depicted, network adapter 20communicates with the other components of computer system/server 12 viabus 18. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 12. Examples, include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Referring now to FIG. 2, illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 comprises one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 2 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 3, a set of functional abstraction layers providedby cloud computing environment 50 (FIG. 2) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 3 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include mainframes, in oneexample IBM® zSeries® systems; RISC (Reduced Instruction Set Computer)architecture based servers, in one example IBM pSeries® systems; IBMxSeries® systems; IBM BladeCenter® systems; storage devices; networksand networking components. Examples of software components includenetwork application server software, in one example IBM WebSphere®application server software; and database software, in one example IBMDB2® database software. (IBM, zSeries, pSeries, xSeries, BladeCenter,WebSphere, and DB2 are trademarks of International Business MachinesCorporation registered in many jurisdictions worldwide).

Virtualization layer 62 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers;virtual storage; virtual networks, including virtual private networks;virtual applications and operating systems; and virtual clients.

In one example, management layer 64 may provide the functions describedbelow. Resource provisioning provides dynamic procurement of computingresources and other resources that are utilized to perform tasks withinthe cloud computing environment. Metering and Pricing provide costtracking as resources are utilized within the cloud computingenvironment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal provides access to the cloud computing environment forconsumers and system administrators. Service level management providescloud computing resource allocation and management such that requiredservice levels are met. Service Level Agreement (SLA) planning andfulfillment provide pre-arrangement for, and procurement of, cloudcomputing resources for which a future requirement is anticipated inaccordance with an SLA.

Workloads layer 66 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation; software development and lifecycle management; virtualclassroom education delivery; data analytics processing; transactionprocessing; and relationship discovery.

Thus, in certain embodiments, software, implementing relationshipdiscovery in accordance with embodiments described herein, is providedas a service in a cloud environment.

FIG. 4 illustrates a computing environment in accordance with certainembodiments. A computing device 400 includes a relationship discoveryengine 410. The computing device 400 is coupled to a data store 450. Thedata store 450 stores data sets 460, and each of the data sets includesrecord data that includes a measure of interest (i.e., a continuoustarget) and multiple dimensions (i.e., categorical attributes orcategorical fields).

While the embodiments are not tied to data warehouses, embodiments usedimensions and measures as familiar terms to distinguish betweencategorical attributes and continuous targets available in datastructures.

In certain embodiments, the computing device 400 has the architecture ofcomputing node 10. In certain embodiments, the computing device 400 ispart of a cloud environment. In certain alternative embodiments, thecomputing device 400 is not part of a cloud environment.

Given a data set and a measure of interest, the relationship discoveryengine 410 generates a multitude of aggregate tabular reports based on asubset of dimensions. The relationship discovery engine 410 provides amodel based and scalable process for generation of reports exhibitingstrong dimension interactions. An interaction describes a situation inwhich the simultaneous influence of two dimensions on the measure is notadditive.

The analysis for each aggregate report is based on a statistical modelincluding the corresponding measure and the dimensions determining thetable dimensions. Model based statistics are used for analysis of theoverall dispersion of the measure values among the table cells anddetection of the dimension interactions. The detected dimensioninteractions are ranked according to their strength and reported to theuser (e.g., a data analyst or system administrator).

In certain embodiments (e.g., for data sets with a large number ofdimensions), the relationship discovery engine 410 does not generate andanalyze all possible aggregate tables, even with a low number ofdimensions. For example, data with 100 dimensions would generate thetotal of 166,750 tables with three or fewer dimensions.

In certain embodiments, the relationship discovery engine 410 applies astructured search in which the tables with a single dimension areconsidered first. The tables with two or three dimensions are consideredselectively, based on the analysis of the corresponding tables of lowerdimension. This ensures that the computational effort needed forgenerating and analyzing the tables is limited. It is also effective byresulting in the detection of a higher number of relevant tables than bya random search of comparable size.

The relationship discovery engine 410 further analyzes the top tables bydetecting any cells with high contribution to the significantinteraction effect. The overall model based summaries, as well as, theresults of the cell-by-cell analyses are made available for output tothe user.

FIG. 5 illustrates a framework and a functional flow chart forrelationship discovery in accordance with certain embodiments. In FIG.5, record data 500 contains a measure of interest and a potentiallylarge number of dimensions. In certain embodiments, the relationshipdiscovery engine 410 includes a data aggregation layer 510, a searchlayer 520, and an insight construction layer 530. The data aggregationlayer 510 processes records from the record data 500 and generatesaggregated input statistics in aggregated reporting tables forcombinations of dimensions (e.g., for 1-dimensional tables, for2-dimensional tables . . . for K-dimensional tables, where K may be anypositive integer). A 1-dimensional table may be described as a table ofcells corresponding to the categories of one dimension; a 2-dimensionaltable may be described as a table of cells corresponding to thecombinations of categories from two dimensions; and a k-dimensionaltable may be described as a table of cells corresponding to thecombinations of categories from k dimensions. The data aggregation layer510 generates the aggregated input statistics for multiple tables in asingle processing of the record data 500. Aggregated input statisticsmay be described as statistics, such as those in FIG. 6, that aggregatemeasure values corresponding to each table cell.

The search layer 520 creates consecutive lists of limited numbers oftables for which the aggregated input statistics are generated by thedata aggregation layer 510. Tables created in each list are aggregatedduring a single processing of the record data 500. In particular, thesearch layer 520 includes a 1-dimensional table search unit 522, a2-dimensional table search unit 524 . . . a K-dimensional table searchunit 526. Each table search unit performs a search over a particular(e.g., 1-dimensional, 2-dimensional or K-dimensional) table generatedfor different dimensions.

The inputs to the search layer 520 are the aggregated input statisticswithin data aggregated reporting tables of up to K-dimensions. Incertain embodiments, the inputs to the search layer 520 are theaggregated input statistics within data aggregated reporting tables ofup to 3-dimensions. Each table dimension is formed by a differentdimension with potential to impact the measure.

FIG. 6 illustrates a table 600 of search layer 520 aggregated inputstatistics in accordance with certain embodiments. The aggregated inputstatistics comprise count (which is the number of records correspondingto each table cell), mean (which is the mean value of the measure forrecords corresponding to each table cell), and variance (which is acentered sum of squares of the measure for the records corresponding toeach table cell, divided by the number of records minus one). In certainembodiments, the centered sum of squares may be computed by subtractingthe cell mean from each measure before taking the measure's square.

Upon receiving the aggregated input statistics for 1-dimensional tablesfrom the data aggregation layer 510, the 1-dimensional table search unit522 performs a 1-dimensional table search to find the most interesting1-dimensional tables for output and extension. In certain embodiments,the aggregated input statistics are received for all 1-dimensionaltables. Extension may be described as processes of augmenting tableswith an additional dimension. For example, blocks 902 (FIG. 9) and 1002(FIG. 10) “extend” the 1-dimensional and 2-dimensional tables by addinga dimension.

The search layer 520 then sends a request to the data aggregation layer510 for the aggregated input statistics for the 2-dimensional tablesbased on the output from the 1-dimensional table search unit 522. Uponreceiving the aggregated input statistics for the 2-dimensional tables,the 2-dimensional table search unit 524 performs a 2-dimensional tablessearch to find the most interesting 2-dimensional tables for output andextension.

As this continues, the search layer 520 sends a request to the dataaggregation layer 510 for the aggregated input statistics for3-dimensional tables based on the output from the 2-dimensional tablesearch unit 524. Upon receiving the aggregated input statistics for the3-dimensional tables, the 3-dimensional table search unit performs a3-dimensional tables search to find the most interesting 3-dimensionaltables for output and optionally for extension. This processing maycontinue for K-dimensions.

Such processing between the data aggregation layer 510 and the searchlayer 520 goes on for K-dimensions. In certain embodiments, a useridentifies the highest number of dimensions, K.

In certain embodiments, the search and sorting strategy employed in the1, 2, . . . k-dimensional table search units 522, 524 . . . 526 rely onthe ANOVA model based search index goodness of fit. Goodness of fit maybe described as a model-based summary statistic that evaluates theoverall model capability to describe the given data. FIG. 7 illustratesa table 700 that specifies a search index in terms of summaries (i.e.,summary statistics) derived from aggregated input statistics inaccordance with certain embodiments. Table 700 describes the computationprocess for calculating the goodness of fit R² using a total sum of thesquares of the measure Y and an error of sum squares of the measure Y.

FIG. 8 illustrates, in a flow diagram, operations performed on1-dimensional tables in accordance with certain embodiments. Controlbegins at block 800 with the 1-dimensional table search unit 522receiving aggregated input statistics for 1-dimensional tables from thedata aggregation layer 510. In certain embodiments, the inputs to the1-dimensional table search unit 522 are aggregated input statisticslisted in table 600 (FIG. 6) for each table. In block 802, the1-dimensional table search unit 522 computes goodness of fit values forthe 1-dimensional tables using summaries derived from the receivedaggregated input statistics. In accordance with certain embodiments, thegoodness of fit values are computed using the formula described withreference to table 700, following an Analysis of Variance (ANOVA) modelfor the 1-dimensional tables. ANOVA may be described as a type ofstatistical model for a given measure and a set of dimensions. In block804, the 1-dimensional table search unit 522 sorts the 1-dimensionaltables by the computed goodness of fit values. In block 806, the1-dimensional table search unit 522 selects the top L 1-dimensionaltables (where L may be any positive integer) based on the goodness offit values. In certain embodiments, the top L 1-dimensional tables havegoodness of fit values exceeding a first threshold value. Variousthreshold values are referred to herein, and, in various embodiments,these threshold values may have the same or different values. In block808, the 1-dimensional table search unit 522 outputs a sorted list of Lsingle dimensions (i.e., top dimensions) corresponding to the top L1-dimensional tables to the 2-dimensional table search unit 524.

The sorted list of dimensions corresponding to the top L 1-dimensionaltables is sent to the 2-dimensional table search unit 524. In certainembodiments, the number L is chosen (e.g., by a user) so that the numberof considered tables remains limited to conserve time and memory, butthe number L is as large as possible for accuracy purposes.

FIG. 9 illustrates, in a flow diagram, operations to create2-dimensional tables in accordance with certain embodiments. FIG. 9 isformed by FIG. 9A and FIG. 9B. Control begins at block 900 with the2-dimensional table search unit 524 receiving sorted list of L singledimensions from the 1-dimensional table search unit 522. In block 902,the 2-dimensional table search unit 524 creates 2-dimensional tables bycombining each of the top M dimensions with each of the non-included Lsingle dimensions (where M may be any positive integer). In certainembodiments, the top M dimensions correspond to 1-dimensional tablesthat have goodness of fit values exceeding a second threshold value. Incertain embodiments, the number M is smaller than L and is chosen sothat the total number of created tables is limited to conservecomputational resources. In block 904, the 2-dimensional table searchunit 524 requests aggregated input statistics for the created2-dimensional tables from the data aggregation layer 510. In certainembodiments, the aggregated input statistics are those listed in table600 (FIG. 6) for each 2-dimensional table. In block 906, the2-dimensional table search unit 524 receives the aggregated inputstatistics for the created 2-dimensional tables from the dataaggregation layer 510. In block 908, the 2-dimensional table search unit524 computes goodness of fit values for the created 2-dimensional tablesusing summaries derived from the received aggregated input statistics.In accordance with certain embodiments, the goodness of fit values arecomputed using the formula described with reference to table 700 (FIG.7). From block 908 (FIG. 9A), processing continues simultaneously toblock 910 (FIG. 9A) and to block 912 (FIG. 9B). In block 910, the2-dimensional table search unit 524 outputs the created 2-dimensionaltables with aggregated input statistics (i.e., the tables that have beenoriginally created and then aggregated and processed) to the insightconstruction layer 530. In block 912, the 2-dimensional table searchunit 524 sorts the 2-dimensional tables by the computed goodness of fitvalues. In block 914, the 2-dimensional table search unit 524 selectsthe top N 2-dimensional tables (where N may be any positive integer)based on the goodness of fit values. In certain embodiments, the top N2-dimensional tables have goodness of fit values exceeding a thirdthreshold value. In certain embodiments, the number N is chosen so thatthe number of considered 3-dim tables remains limited. In block 916, the2-dimensional table search unit 524 outputs a sorted list of N dimensionpairs corresponding to the top N 2-dimensional tables and the sortedlist of L single dimensions to the 3-dimensional search unit.

FIG. 10 illustrates operations to create 3-dimensional tables inaccordance with certain embodiments. Control begins at block 1000 withthe 3-dimensional table search unit receiving the sorted list of Lsingle dimensions for the 1-dimensional tables and the sorted list of Ndimension pairs from the 2-dimensional table search unit. In block 1002,the 3-dimensional table search unit creates 3-dimensional tables bycombining each of the N dimension pairs with each of the non-included Lsingle dimensions. The non-included dimensions are ones that are notalready in the 2-dimensional tables. Creating the 3-dimensional tablesincludes defining the dimensions for each of the 3-dimensional tables.In block 1004, the 3-dimensional table search unit requests aggregatedinput statistics for the created 3-dimensional tables from dataaggregation layer 510. In certain embodiments, the aggregated inputstatistics are those listed in table 600 (FIG. 6) for each 3-dimensionaltable. In block 1006, the 3-dimensional table search unit receives theaggregated input statistics for the created 3-dimensional tables fromdata aggregation layer 510. In block 1008, for up to 3-dimensionaltables, the 3-dimensional table search unit outputs the created3-dimensional tables with aggregated input statistics (i.e., the tablesthat have been originally created and then aggregated and processed) toinsight construction layer 530.

While the interaction effect size is a final quantity of interest, thegoodness of fit values are used to create the candidate k-dimensionaltables. Embodiments avoid computing the interaction effect size for allpossible tables.

The insight construction layer 530 includes an interaction evaluationunit 532 and a report profile construction unit 534. Interaction indicesmay be described as measures of presence and strength of the interactioneffects in the model. In certain embodiments, interaction indicesemployed in the interaction evaluation unit 532 are the ANOVA modelbased indices: significance of interaction and interaction effect size.The significance of interaction and interaction effect size are computedand applied to the 2-dimensional tables and the 3-dimensional tablesconsidered in the insight construction layer 530. Significance ofinteraction may be described as statistical indication of its relevancewhen including the interaction effect into the model. Interaction effectsize may be described as statistical indication of the relative size ofthe interaction effect with respect to the overall model. FIG. 11illustrates a table 1100 that specifies the interaction indices in termsof various summaries derived from the aggregated input statistics inaccordance with certain embodiments. FIG. 12 illustrates a table 1200that contains a description of the process for computing more involvedinteraction summaries (i.e., sum of squares) in accordance with certainembodiments. The process of computing the significance of interactionand interaction effect size is described in tables 1100 and 1200 withreference to table 700. Table 1100 is a standard computation using ANOVAcomponents. Table 1200 presents an older and rare technique forcomputing certain ANOVA model components. This technique is used becauseit allows computing the required model components based on theaggregated input statistics.

FIG. 13 illustrates, in a flow diagram, processing performed by theinteraction evaluation unit 532 for 2-dimensional and 3-dimensionaltables in accordance with certain embodiments. Control begins with theinteraction evaluation unit 532 receiving the created 2-dimensionaltables with aggregated input statistics from the 2-dimensional tablesearch unit (block 1300) and receiving the created 3-dimensional tableswith aggregated input statistics from the 3-dimensional table searchunit (block 1302). In block 1304, the interaction evaluation unit 532computes the significance of interaction and the interaction effect sizefor the 2-dimensional and 3-dimensional tables. In block 1306, theinteraction evaluation unit 532 sorts the 2-dimensional and3-dimensional tables that have significant interaction effect accordingto the interaction effect size. In block 1308, the interactionevaluation unit 532 outputs a sorted list of top P 2-dimensional and3-dimensional tables to the report profile construction unit 534. Inparticular, computing the significance of interaction in block 1304refers to determining whether the interaction effect is significant ornot. Then, tables that have significant interaction effect are sorted inblock 1306.

In certain embodiments, the report profile construction unit 534generates profile statistics and interpretation with insights for top2-dimensional and 3-dimensional tables. FIG. 14 illustrates a reportprofile template 1400 in accordance with certain embodiments.

FIG. 15 illustrates a table 1500 that describes an influential cellsdetection procedure in accordance with certain embodiments. Theinfluential cells detection procedure uses a chi-square test based onthe interaction sum of squares in each cell to determine the level ofcell contribution to the interaction effect. A cell is detected asinfluential if the p-value statistic is smaller than a given thresholdvalue. In various embodiments, the threshold value may have a defaultvalue (e.g., 0.05) which may be set by a system administrator or otheruser or may be calibrated with experiments.

The relationship discovery engine 410 employs two ANOVA model basedindices for a given tabular report: goodness of fit and interactioneffect size. Goodness of fit may be described as an index of the overallmodel fit that includes main effects, as well as, the interactioneffects, and interaction effect size is used to assess the size ofinteraction effects directly.

The relationship discovery engine 410 relies on the goodness of fitwithin the search layer 520. Extending a table with a high goodness offit index by a dimension that has a high goodness of fit as a1-dimensional table results in the new table with high goodness of fit.This property is useful for search purposes because it enables analyzingtables of lower dimension and effectively predicting which tables ofhigher dimension have high goodness of fit. Also, another property ofthe goodness of fit index is that tables with high interaction effectsize are more common among the tables with high goodness of fit.

The relationship discovery engine 410 utilizes both properties of thegoodness of fit index in order to provide a scalable and effectivediscovery of tables with high interaction effect size. Discovering anumber of tables with high interaction effect size is useful for dataanalysts gaining insights about non-obvious relationships between themeasure and dimensions in the given data set.

FIG. 16 illustrates a heat map 1600 of overall customer satisfaction inaccordance with certain embodiments. Food items were evaluated by asample of customers. Each customer tasted a single item and the customeroverall satisfaction score on the scale 1-100 was recorded for theoffered item. Also recorded was the number of times each customer hadtasted the item on any previous occasion. The interaction effect betweenthe food items and the number of times an item was tasted is weak. Theeffect size of the interaction is 0.022. Nevertheless, due to fairlylarge sample of customers, the p-value of the interaction effect is0.001. The cell for the food item B previously tasted 1 time isinfluential, and its contribution to the overall interaction effect hasa p-value 0.01.

FIG. 17 illustrates operations performed on k-dimensional tables inaccordance with certain embodiments. FIG. 17 is formed by FIG. 17A, FIG.17B, and FIG. 17C. An example will be provided with reference to theoperations performed in FIG. 17 merely to enhance understanding ofembodiments. For this example, consider the set of following dimensions:A, B, C, D, . . . , X, Y, Z, where each dimension corresponds to acategorical data attribute in a data set.

Control begins at block 1700 with a 1-dimensional table search unitoutputting dimensions corresponding to 1-dimensional tables. In certainembodiments, the dimensions are a sorted list of top dimensions, whereinthe sorting is in accordance with goodness of fit values.

For the example, let T(1)=5 (i.e., the output of the 1-dimensionalsearch unit contains 5 dimensions sorted by the goodness of fit values(e.g., R-squared values). The following are examples of a sorted list ofT(1) single dimensions:

Dimension A B C D E R-squared .57 .55 .50 .48 .45

For this example, the rest of the 1-dimensional tables in the data setall have R-squared values smaller than 0.45.

In block 1702, a next k-dimensional table search unit is selected,starting with a first k-dimensional table search unit. Continuing withthe example, assume that k-dimensional search unit is selected with k=4.

In block 1704, the selected k-dimensional table search unit receives asubset of (k−1)-dimensional tables and the dimensions corresponding tothe 1-dimensional tables, wherein k is greater than 1. In certainembodiments, the subset of (k−1)-dimensional tables and the dimensionscorresponding to the 1-dimensional tables are output from the previous(k−1)-dimensional search unit. In certain embodiments, the subset is asorted list of top (k−1)-dimensional tables, wherein the sorting is inaccordance with goodness of fit values.

Continuing with the example, a 4-dimensional table search unit receivesoutput from a 3-dimensional table search unit. In this example, theoutput contains two 3-dimensional tables—one 3-dimensional table havingdimensions B, D, and E and the other 3-dimensional table having thedimensions A, B, and D. The following provides the R-squared values forthese 3-dimensional tables.

Triples (B, D, E) (A, B, D) R-squared .68 .65

The rest of the 3-dimensional tables in the 3-dimensional search unithave R-squared values smaller than 0.65.

In block 1706, the selected k-dimensional table search unit creates aset of k-dimensional tables by combining each of the (k−1)-dimensionaltables with non-included dimensions corresponding to 1-dimensionaltables.

Continuing with the example, a set of 4-dimensional tables are createdby combining the dimension triples with the single dimensions asfollows: (A, B, D, E), (B, C, D, E), and (A, B, C, D).

In block 1708, the selected k-dimensional table search unit requests andreceives aggregated input statistics for the created set ofk-dimensional tables from the data aggregation layer. From block 1708(FIG. 17A), processing continues to block 1710 (FIG. 17B).

In block 1710, the selected k-dimensional table search unit computesgoodness of fit values for the created set of k-dimensional tables usingsummaries derived from the received aggregated input statistics. Fromblock 1710, processing continues simultaneously to block 1712 and toblock 1718 (FIG. 9B).

Continuing with the example, the following are the goodness of fitvalues for the 4-dimensional tables:

4-dimensional tables (A, B, D, E) (B, C, D, E) (A, B, C, D) R-squared.71 .69 .67

In block 1712, the selected k-dimensional table search unit sorts thecreated set of k-dimensional tables according to the computed goodnessof fit values. In block 1714, the selected k-dimensional table searchunit outputs a subset of the sorted k-dimensional tables selected fromthe created set. In certain embodiments, the subset is a sorted list oftop (k)-dimensional tables. In block 1716, it is determined whetherthere all table search units have been selected. If so, processingcontinues to block 1718 (FIG. 17C), otherwise, processing loops back toblock 1702 (FIG. 17A).

In block 1718, the interaction evaluation unit 532 computes significanceof interaction and interaction effect size for the created set ofk-dimensional tables to determine dimension and measure interactions. Incertain embodiments, the significance of interaction and the interactioneffect size are computed for the created set of k-dimensional tablesusing interaction indices in terms of summaries derived from aggregatedinput statistics that aggregate measure values.

Continuing with the example, the following are the significance ofinteraction and interaction effect size for the 4-dimensional tables:

4-dimensional tables (A, B, D, E) (B, C, D, E) (A, B, C, D) Interactioneffect significance .01 .07 .02 Interaction effect size .09 .04 .03

In block 1720, the interaction evaluation unit 532 sorts the created setof k-dimensional tables that have significant interaction effect by theinteraction effect size. Continuing with the example, the following is alist of 4-dimensional tables with significant interaction effect sortedaccording to the interaction effect size: (A, B, D, E), (A, B, C, D).Note that table (B, C, D, E) is not included in the list because thistable (B, C, D, E,) is not significant at the 0.05 threshold value.).

In block 1722, the interaction evaluation unit 532 outputs a subset ofsorted k-dimensional tables to a report profile construction unit forgenerating one or more reports. In certain embodiments, the subset is asorted list of top k-dimensional tables that have an interaction effectsize exceeding a fourth threshold value. In particular, computingsignificance of interaction in block 1718 refers to determining whetherthe interaction effect is significant or not. Then, tables that havesignificant interaction effect are sorted in block 1720.

In certain embodiments, top dimensions are selected according to astated sorting criterion. There are two indices used for sorting:goodness of fit and the interaction effect size. For all k, top T(k)tables are selected using the goodness of fit. Interaction effect sizeis computed in the interaction evaluation unit as the final step forselected tables before the report profile construction.

For example, in FIG. 17, operations in blocks 1700, 1704, 1712, 1714sort by the goodness of fit values and select the top k-dimensionaltables from these sorted lists according to the goodness of fit values.Operations in blocks 1720, 1722 sort according to the interaction effectsize and select the top k-dimensional tables from these sorted listsaccording to their interaction effect size.

FIGS. 18A, 18B, and 18C illustrate example 1-dimensional tables 1800,1810, 1820 in accordance with certain embodiments. Although threeexample 1-dimensional tables are shown merely to enhance understandingof embodiments, there may be any number of 1-dimensonal tables invarious embodiments. In FIG. 18A, for the example 1-dimensional table1800, the following are the dimensions, dimension categories, measure,and aggregated input statistics:

Dimension: Claim Type

Claim Type dimension categories: Wind/Hail, Water damage, Fire/Smoke,Contamination, and Theft/Vandalism

Measure: Cost of claim in thousands

Aggregated input statistics: (Count, Mean, Variance)

In FIG. 18B, for the example 1-dimensional table 1810, the following arethe dimensions, dimension categories, measure, and aggregated inputstatistics:

Dimension: Property Condition

Property Condition dimension categories: Habitable and Unhabitable

Measure: Cost of claim in thousands

Aggregated Input Statistics: (Count, Mean, Variance)

In FIG. 18C, for the example 1-dimensional table 1820, the following arethe dimensions, dimension categories, measure, and aggregated inputstatistics:

Dimension: Property Type

Property Type dimension categories: Commercial and Residential

Measure: Cost of claim in thousands

Aggregated Input Statistics: (Count, Mean, Variance)

FIG. 19 illustrates an example 2-dimensional table 1900 in accordancewith certain embodiments. Although one example 2-dimensional table isshown merely to enhance understanding of embodiments, there may be many2-dimensional tables in various embodiments. The example 2-dimensionaltable 1900 was created by combining the example 1-dimensional table 1800with a non-included dimension “Property Condition” corresponding to the1-dimensional table 1810. For the example 2-dimensional table 1900, thefollowing are the dimensions, dimension categories, measure, andaggregated input statistics:

Dimensions: Claim Type, Property Condition

Claim Type dimension categories: Wind/Hail, Water damage, Fire/Smoke,Contamination, and Theft/Vandalism

Property Condition dimension categories: Habitable and Unhabitable

Measure: Cost of claim in thousands

Aggregated Input Statistics: (Count, Mean, Variance)

FIG. 20 illustrates an example 3-dimensional table 2000 in accordancewith certain embodiments. Although one example 3-dimensional table isshown merely to enhance understanding of embodiments, there may be many3-dimensonal tables in various embodiments. The example 3-dimensionaltable 2000 was created by combining the example 2-dimensional table 1900with yet another non-included dimension “Property Type” corresponding tothe 1-dimensional table 1820. For the example 3-dimensional table 2000,the following are the dimensions, dimension categories, measure, andaggregated input statistics:

Dimensions: Claim Type, Property Condition, Property Type

Measure: Cost of claim in thousands

Claim Type dimension categories: Wind/Hail, Water damage, Fire/Smoke,Contamination, and Theft/Vandalism

Property Condition dimension categories: Habitable and Unhabitable

Property Type dimension categories: Commercial and Residential

Aggregated Input Statistics: (Count, Mean, Variance)

Thus, given a data set and a measure of interest, the relationshipdiscovery engine 410 provides a scalable search for interactions in themultitude of all possible dimensional aggregate tabular reports based ona subset of dimensions.

The relationship discovery engine 410 enables a guided search among anynumber of predetermined dimensions. Also, the relationship discoveryengine 410 evaluates the overall relevance of different combinations ofdimensions that affect the measure values. The relationship discoveryengine provides a comprehensive technique for searching for importantdimensions and their combinations with respect to a given measure in adata set containing a large number of dimensions.

Thus, in certain embodiments, the relationship discovery engine 410provides efficient discovery of the strongest interaction effects inlarge data sets with a large number of dimensions by generatingstatistical models (ANOVA) for analyzing aggregate tables with two ormore dimensions and the target aggregated input statistics; applyingmodel-based goodness-of-fit to select the best candidate tables andgenerate tables with additional dimensions; and efficiently computingthe model-based interaction effect size among the table dimensions withrespect to the target measure.

The relationship discovery engine 410 not only covers dimensionreduction, but also detects interaction effects based on model-basedgoodness-of-fit statistics. In certain embodiments, the relationshipdiscovery engine 410 focuses on interaction effects that are based ontwo or more variables without conditioning on another variable. Therelationship discovery engine 410 uses basic statistics to carryanalysis on aggregated tables.

Additional Embodiment Details

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, solid state memory, magnetic tape orany suitable combination of the foregoing. In the context of thisdocument, a computer readable storage medium may be any tangible mediumthat can contain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package,

partly on the user's computer and partly on a remote computer orentirely on the remote computer or server. In the latter scenario, theremote computer may be connected to the user's computer through any typeof network, including a local area network (LAN) or a wide area network(WAN), or the connection may be made to an external computer (forexample, through the Internet using an Internet Service Provider).

Aspects of the embodiments of the invention are described below withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according toembodiments of the invention. It will be understood that each block ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational processing (e.g., operations or steps) to beperformed on the computer, other programmable apparatus or other devicesto produce a computer implemented process such that the instructionswhich execute on the computer or other programmable apparatus provideprocesses for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

The code implementing the described operations may further beimplemented in hardware logic or circuitry (e.g., an integrated circuitchip, Programmable Gate Array (PGA), Application Specific IntegratedCircuit (ASIC), etc. The hardware logic may be coupled to a processor toperform operations.

Devices that are in communication with each other need not be incontinuous communication with each other, unless expressly specifiedotherwise. In addition, devices that are in communication with eachother may communicate directly or indirectly through one or moreintermediaries.

A description of an embodiment with several components in communicationwith each other does not imply that all such components are required. Onthe contrary a variety of optional components are described toillustrate the wide variety of possible embodiments of the presentinvention.

Further, although process steps, method steps, algorithms or the likemay be described in a sequential order, such processes, methods andalgorithms may be configured to work in alternate orders. In otherwords, any sequence or order of steps that may be described does notnecessarily indicate a requirement that the steps be performed in thatorder. The steps of processes described herein may be performed in anyorder practical. Further, some steps may be performed simultaneously.

When a single device or article is described herein, it will be readilyapparent that more than one device/article (whether or not theycooperate) may be used in place of a single device/article. Similarly,where more than one device or article is described herein (whether ornot they cooperate), it will be readily apparent that a singledevice/article may be used in place of the more than one device orarticle or a different number of devices/articles may be used instead ofthe shown number of devices or programs. The functionality and/or thefeatures of a device may be alternatively embodied by one or more otherdevices which are not explicitly described as having suchfunctionality/features. Thus, other embodiments of the present inventionneed not include the device itself.

The illustrated operations of the flow diagrams show certain eventsoccurring in a certain order. In alternative embodiments, certainoperations may be performed in a different order, modified or removed.Moreover, operations may be added to the above described logic and stillconform to the described embodiments. Further, operations describedherein may occur sequentially or certain operations may be processed inparallel. Yet further, operations may be performed by a singleprocessing unit or by distributed processing units.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The terms “an embodiment”, “embodiment”, “embodiments”, “theembodiment”, “the embodiments”, “one or more embodiments”, “someembodiments”, and “one embodiment” mean “one or more (but not all)embodiments of the present invention(s)” unless expressly specifiedotherwise.

The terms “including”, “comprising”, “having” and variations thereofmean “including but not limited to”, unless expressly specifiedotherwise.

The enumerated listing of items does not imply that any or all of theitems are mutually exclusive, unless expressly specified otherwise.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of embodiments of the present invention has been presentedfor purposes of illustration and description, but is not intended to beexhaustive or limited to the invention in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The embodiments were chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The foregoing description of embodiments of the invention has beenpresented for the purposes of illustration and description. It is notintended to be exhaustive or to limit the embodiments to the preciseform disclosed. Many modifications and variations are possible in lightof the above teaching. It is intended that the scope of the embodimentsbe limited not by this detailed description, but rather by the claimsappended hereto. The above specification, examples and data provide acomplete description of the manufacture and use of the composition ofthe embodiments. Since many embodiments may be made without departingfrom the spirit and scope of the invention, the embodiments reside inthe claims hereinafter appended or any subsequently-filed claims, andtheir equivalents.

1. A method comprising: receiving, using a processor of a computer, asubset of (k−1)-dimensional tables, wherein k is greater than 1, whereinthe subset of (k−1)-dimensional tables are selected based on goodness offit values exceeding a first threshold; creating a set of k-dimensionaltables by combining each of the (k−1)-dimensional tables with anon-included dimension corresponding to a 1-dimensional table;outputting a subset of the k-dimensional tables selected from thecreated set of k-dimensional tables for use in creating(k+1)-dimensional tables, wherein the subset of the k-dimensional tablesare selected based on goodness of fit values exceeding a secondthreshold; and computing significance of interaction and interactioneffect size for the created set of k-dimensional tables to determinedimension and measure interactions.
 2. The method of claim 1, whereincreated the k-dimensional tables are sorted according to computedgoodness of fit values.
 3. The method of claim 1, further comprising:sorting the created set of k-dimensional tables that have significantinteraction effect according to the interaction effect size.
 4. Themethod of claim 3, further comprising: using a subset of the sortedk-dimensional tables that have an interaction effect size exceeding athird threshold to generate one or more reports.
 5. The method of claim1, wherein the significance of interaction and the interaction effectsize are computed for the set of created k-dimensional tables usinginteraction indices in terms of summaries derived from aggregated inputstatistics that aggregate measure values.
 6. The method of claim 1,further comprising: receiving aggregated input statistics for1-dimensional tables; computing the goodness of fit values for each ofthe 1-dimensional tables; and sorting the 1-dimensional tables accordingto the computed goodness of fit values.
 7. The method of claim 1,wherein the subset of (k−1)-dimensional tables comprise top (k−1)dimensional tables selected based on the goodness of fit values.
 8. Themethod of claim 1, further comprising: computing the goodness of fitvalues using an Analysis of Variance (ANOVA) model.
 9. The method ofclaim 1, wherein a Software as a Service (SaaS) is provided to performthe method.